﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sistema.NFe.Xml.Versao200
{
    class XmlProtocolo200 : Sistema.NFe.Xml.Interfaces.IXmlProtocolo
    {
        long _protocolo;
        DateTime _dataHoraRecebimento;
        Int32 _status;
        String _DescricaoProtocolo;
        
        #region Propriedades

        public String DescricaoProtocolo
        {
            get { return _DescricaoProtocolo; }
            set { _DescricaoProtocolo = value; }
        }

        public Int32 Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public DateTime DataHoraRecebimento
        {
            get { return _dataHoraRecebimento; }
            set { _dataHoraRecebimento = value; }
        }

        public long Protocolo
        {
            get { return _protocolo; }
            set { _protocolo = value; }
        }

        #endregion

        public XmlProtocolo200(Mapeamento.TProtNFe protocolo)
        {
            try
            {
                this.DataHoraRecebimento = protocolo.infProt.dhRecbto;
                if (protocolo.infProt.nProt != null) long.TryParse(protocolo.infProt.nProt, out this._protocolo);
                Int32.TryParse(protocolo.infProt.cStat, out this._status);
                this.DescricaoProtocolo = protocolo.infProt.xMotivo;
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}
